<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // map()
    // let arr = [1, 3, 5, 7]

    // let newArray = arr.map((value, index) => {
    //   return value * value
    // })
    // console.log(newArray)

    // filter()
    // let arr = [1, 2, 3, 4, 5]
    // let newArray = arr.filter((value, index) => {
    //   return value % 2 !== 0
    // })
    // console.log(newArray)

    // some()
    // let str = ['a', 'b', 'c', 'd']
    // let result = str.some((value, index) => {
    //   return value === 'e'
    // })
    // console.log(result)

    // every() 
    // let arr = [1, 2, 3, 5, 6, 100]
    // let result = arr.every((value, index) => {
    //   return value >= 1
    // })
    // console.log(result)

    // reduce() 归并
    // let arr = [1, 2, 3, 8, 100]
    // let result = arr.reduce(
    //   (sum, value) => {
    //     sum += value
    //     return sum
    //   },
    //   0
    // )
    // console.log(result)

    // let data = {
    //   x: {
    //     value: 100
    //   },
    //   y: {
    //     value: 200
    //   },
    //   z: {
    //     value: 300
    //   }
    // }

    // 数据扁平化
    // let data2 = {
    //   x: 100,
    //   y: 200,
    //   z: 300
    // }

    // let data2 = data.reduce(
    //   (obj, value) => {

    //   },
    //   {}
    // )
    // let data2 = Object.keys(data)
    // let result = data2.reduceRight(
    //   (obj, key) => {
    //     obj[key] = data[key].value // 100, 200, 300
    //     // console.log(data[key].value)
    //     // console.log(obj)
    //     return obj
    //   },
    //   {}
    // )
    // console.log(result)

    // Array.of()
    // let arr = Array(10)
    // let arr = Array.of(7)
    // console.log(arr)

    // Array.from()
    // function foo() {
    //   let arr = Array.from(arguments)
      
    //   return arr.reduce((sum, value) => {
    //     sum += value
    //     return sum
    //   }, 0)
    // }
    // let r = foo(1, 3, 4)
    // console.log(r)

    // clone 克隆
    // let arr = [9, 10, 11, 11, 200, 9]
    // let arr2 = arr
    // let arr2 = [
    //   ...arr
    // ]
    // let arr2 = [].concat(arr)
    // let arr2 = Array.from(arr)
    // arr2.push(100)
    // console.log(arr)
    // console.log(arr2)
    // function range(size) {
    //   return Array.from({
    //     length: size
    //   }, (_, index) => {
    //     return index
    //   })
    // }
    // console.log(range(100))

    // function unique(arr) {
    //   console.log(new Set(arr))
    //   return Array.from(new Set(arr))
    // }
    // console.log(unique(arr))
    
    // let originArr = [1, 2, 4, 5, 6]
    // let arr = originArr.copyWithin(0, 2)
    // // console.log(arr)
    // console.log(originArr)

    // let data = [
    //   {
    //     id: '001',
    //     name: 'iphone',
    //     price: 9000
    //   },
    //   {
    //     id: '002',
    //     name: 'iphone12',
    //     price: 13000
    //   }
    // ]

    // function findProduction(id) {
    //   return data.findIndex((value) => {
    //     return value.id === id
    //   })
    // }
    // let result = findProduction('002')
    // console.log(result)

    // let arr = [1, 4, 5, 11, 20, 30]
    // let arr2 = arr.fill(100, 2, 3)
    // console.log(arr2)

    let arr = [2, 3, 4]
    console.log(arr.includes(3, 2))


  </script>
</body>
</html>